﻿using System;

namespace BlobNet.Base.Collections.List
{
    [Serializable]
    public class TupleList : ITupleList // where TType : BlobPart
    {
        #region Attributes

        private readonly string _fullyQualifiedType;
        private readonly Guid _listId;
        private readonly int _position;
        private readonly object _value;

        #endregion Attributes

        #region Constructors

        public TupleList(int position, Guid listId, string fullyQualifiedType, object value)
        {
            _position = position;
            _listId = listId;
            _fullyQualifiedType = fullyQualifiedType;
            _value = value;
        }

        #endregion Constructors

        #region ITupleList Members

        public object Value
        {
            get { return _value; }
        }

        public Guid ListId
        {
            get { return _listId; }
        }

        public string FullyQualifiedType
        {
            get { return _fullyQualifiedType; }
        }

        public int Position
        {
            get { return _position; }
        }

        #endregion
    }
}